package com.baichang.taoshunda.dao;

import com.baichang.framework.dao.BaseDao;
import com.baichang.framework.model.Page;
import com.baichang.taoshunda.entity.Cash;

import java.util.List;
import java.util.Map;

public interface CashDao extends BaseDao<Cash> {

    /**
     * 根据商家编号获取商家提现记录
     *
     * @param bussinessId 商家编号
     * @return
     */
    List<Map<String, Object>> findCashHistoryByBussinessId(Integer bussinessId);

    /**
     * 查看商家提现列表
     *
     * @param bussId 商家编号
     * @return
     */
    List<Map<String, Object>> findCashList(Integer bussId);

    /**
     * 商家提现列表  busscashQuery
     */
    Page<Map<String, Object>> busscashQuery(int nowPage, int pageSize, String bussName, String startTime, String endTime, int cashstatus, int companyId);

    /**
     * 商家提现列表的导出  busscashQueryExport
     */
    List<Map<String, Object>> busscashQueryExport(String ids);


    /**
     * 提现的审核通过与审核失败
     */
    boolean audit(int id, int state, String auditPersonName, String auditReason);

    /**
     * 配送提现列表
     */
    Page<Map<String, Object>> delivercashQuery(int nowPage, int pageSize, String bussName, String startTime, String endTime, int cashstatus, int companyId);

    /**
     * 配送员提现列表的导出  busscashQueryExport
     */
    List<Map<String, Object>> delivercashQueryExport(String ids);

    /**
     * 提现列表的查询  indexQuery
     */
    Page<Map<String, Object>> indexQuery(int nowPage, int pageSize, String bussName, int cashstatus, String startTime, String endTime, String checkBusinessName, String checkDeliveryName);

    /**
     * 查看配送员的提现记录
     *
     * @param disId
     * @return
     */
    List<Map<String, Object>> findCashHistoryByDisId(Integer disId);

    /**
     * 提现列表
     *
     * @param disId    配送员编号
     * @param nowPage  当前页
     * @param pageSize @return
     */
    List<Map<String, Object>> findDeliveryCashList(Integer disId, Integer nowPage, int pageSize);

    /**
     * 功能描述:
     *
     * @param bussId
     * @return:
     * @auther: wsl
     * @date: 2018/11/29 17:14
     */
    int getCountByCompanyId(Integer bussId);

    /**
     * @param userId 用户编号
     * @return
     */
    List<Map<String, Object>> findCashHistoryByUserId(Integer userId);
    /**
     *
     * 功能描述:
     *    查询是否提现
     * @param userId  用户编号
     * @return:
     * @auther: wsl
     * @date: 2019/2/1 13:42
     */
    Integer getCountByUserId(Integer userId);
}
